package com.awenhui.demo.log;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author yuxf
 * @version 1.0
 * @date 2021/4/9 15:06
 */
@Retention(RetentionPolicy.RUNTIME)//注解会在class中存在，运行时可通过反射获取
@Target(ElementType.METHOD)//目标是方
public @interface LogOperation {

    /**
     * 模块名称
     * @return
     */
    String module() default "";

    /**
     * 操作名称
     * @return
     */
    String action() default "";

    /**
     * 业务参数名称
     * @return
     */
    String busiParamName() default "";

    /**
     * 排除需要记录的参数（因为记录时可能会序列化，有些参数序列化会报错）
     */
     String[] excluedeArgs() default {} ;

    /**
     * 结果是否可以序列化
     * @return
     */
     boolean resultSerializable() default true;

}
